package com.ushio.capsuleservice.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ushio.capsuleservice.model.entity.Archive;
import com.ushio.capsuleservice.model.entity.ArchiveNote;

import java.util.List;

/**
 * 思维存档服务接口
 */
public interface ArchiveService extends IService<Archive> {
    List<Archive> findByUserId(Long userId);

    boolean deleteByUserId(Long userId);
    /**
     * 创建思维存档
     */
    Archive createArchive(Archive archive);
    
    /**
     * 分页获取用户的思维存档列表
     */
    IPage<Archive> getUserArchives(Long userId, int page, int size, String keyword);
    
    /**
     * 获取思维存档详情
     */
    Archive getArchiveDetail(Long archiveId);
    
    /**
     * 更新思维存档
     */
    Archive updateArchive(Long archiveId, Archive archive);
    
    /**
     * 删除思维存档
     */
    boolean deleteArchive(Long archiveId);
    
    /**
     * 添加存档备注
     */
    ArchiveNote addArchiveNote(Long archiveId, String content, Long userId);
    
    /**
     * 获取存档备注列表
     */
    IPage<ArchiveNote> getArchiveNotes(Long archiveId, int page, int size);
    
    /**
     * 删除存档备注
     */
    boolean deleteArchiveNote(Long noteId, Long userId);
}
